﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using DTO;
using BUS;

namespace GUI
{
    public partial class frmThemLoaiPin : Form
    {
        public frmThemLoaiPin()
        {
            InitializeComponent();
        }
        private void a_KeyPress(object sender, KeyPressEventArgs e)
        {
            // Lấy ký tự phân cách thập phân trên nền này
            // ("." đối với US-English).
            string decimalString = Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyDecimalSeparator;
            char decimalChar = Convert.ToChar(decimalString);

            if (Char.IsDigit(e.KeyChar) || Char.IsControl(e.KeyChar)) { }
            else if (e.KeyChar == decimalChar && ((TextBox)sender).Text.IndexOf(decimalString) == -2)
            {
            }
            else
            {
                e.Handled = true;
            }
        }

        private void btnDong_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (_isInSert == true)
            {
                cbbTenLoai.Enabled = false;
                txtTenLoai.Enabled = true;
                btnXoa.Enabled = false;
                _isInSert = false;
                _isUpdate = false;
            }
            else
            {
                LoaiPinDTO _lp = new LoaiPinDTO();
                _lp.TENLOAI = txtTenLoai.Text;
                _lp.TIENMOIWATT = int.Parse(txtMoiWatt.Text);

                LoaiPinBUS _lpBUS = new LoaiPinBUS();
                if (_lpBUS.ThemLoaiPin(_lp) == 1)
                    MessageBox.Show("Thêm Thành Công", "Chúc mừng!");
                else
                    MessageBox.Show("Đã nhập khu vực rồi", "Cảnh báo!");
            }
            txtTenLoai.Text = "";
            txtMoiWatt.Text = "0";

        }
        private bool _isInSert = false;//Trạng thái đầu
        private bool _isUpdate = false;//Trạng thái đầu
        private DataTable _tb = new DataTable();
        private void btnSua_Click(object sender, EventArgs e)
        {
            if (_isUpdate == false)
            {
                LoadLoaiPin();

                cbbTenLoai.Enabled = true;
                txtTenLoai.Enabled = false;
                btnXoa.Enabled = true;

                _isInSert = true;
                _isUpdate = true;
            }
            else
            {
                LoaiPinDTO _lp = new LoaiPinDTO();
                _lp.MALPIN = _indexSelect;
                _lp.TENLOAI = cbbTenLoai.Text;
                _lp.TIENMOIWATT = int.Parse(txtMoiWatt.Text);

                LoaiPinBUS _lpBUS = new LoaiPinBUS();
                if (_lpBUS.SuaLoaiPin(_lp) == 1)
                {
                    _tb = _lpBUS.LoadLoaiPin();
                    cbbTenLoai.DataSource = _tb;
                    MessageBox.Show("Sửa Thành Công", "Chúc mừng!");
                }
            }
        }
        private int _indexSelect; 
        private void cbbTenLoai_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                LoaiPinDTO _lp = new LoaiPinDTO();
                LoaiPinBUS _lpDAO = new LoaiPinBUS();
                _indexSelect = int.Parse(cbbTenLoai.SelectedValue.ToString());
                string sql = "MaLPin =" + _indexSelect.ToString();
                DataRow[] result = _tb.Select(sql);
                txtMoiWatt.Text = result[0]["TienMoiWatt"].ToString();
            }
            catch { }
        }

        private void txtMoiWatt_MouseLeave(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(((TextBox)sender).Text))
                txtMoiWatt.Text = "0";
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            try
            {
                int MaLPin = int.Parse(cbbTenLoai.SelectedValue.ToString());
                LoaiPinBUS _lpBUS = new LoaiPinBUS();
                if (_lpBUS.XoaLoaiPin(MaLPin) == 1)
                {
                    MessageBox.Show("Xóa Thành Công", "Chúc mừng!");
                    LoadLoaiPin();
                }
            }
            catch
            {
                MessageBox.Show("Không thể xóa", "Cảnh báo!");
            }
        }
        private void LoadLoaiPin()
        {
            LoaiPinBUS _lpBUS = new LoaiPinBUS();
            _tb = _lpBUS.LoadLoaiPin();
            cbbTenLoai.DataSource = _tb;
            cbbTenLoai.DisplayMember = "TenLoai";
            cbbTenLoai.ValueMember = "MaLPin";
        }
    }
}
